package com.skit.ecm

import android.app.Application
import android.content.Context
import androidx.appcompat.app.AppCompatDelegate
import cn.bmob.v3.Bmob
import com.alibaba.android.arouter.launcher.ARouter
import com.didichuxing.doraemonkit.DoKit
import com.didichuxing.doraemonkit.kit.AbstractKit
import com.skit.common.ResourcesManager
import com.skit.common.manager.UserManager.init
import com.skit.ecm.doraemonkit.DebugUrlDialogKit
import dagger.hilt.android.HiltAndroidApp

/**
 * @author shuike [Contact me.](mailto:shuike007@gmail.com)
 * @version 1.0
 * @since 2020/5/6
 */

@HiltAndroidApp
class MyApplication : Application() {
    override fun attachBaseContext(base: Context) {
        super.attachBaseContext(base)
        AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
    }

    override fun onCreate() {
        super.onCreate()
        val kits = ArrayList<AbstractKit>()
        kits.add(DebugUrlDialogKit())
        DoKit.Builder(this).customKits(kits).build()
        init(this)
        ResourcesManager.init(this)
        Bmob.initialize(this, "8db454dab086098e13150b08f4d3d450")
        if (BuildConfig.DEBUG) {           // 这两行必须写在init之前，否则这些配置在init过程中将无效
            ARouter.openLog() // 打印日志
            ARouter.openDebug() // 开启调试模式(如果在InstantRun模式下运行，必须开启调试模式！线上版本需要关闭,否则有安全风险)
        }
        ARouter.init(this) // 尽可能早，推荐在Application中初始化
    }
}